import axios  from "axios";


axios.defaults.baseURL = "http://localhost:8080"

//请求拦截器
axios.interceptors.request.use(config=>{
    var token = sessionStorage.getItem("token");
    console.log("===============请求拦截器=====================");
    console.log(token);
    if(token){
      config.headers.token = token;
    }
    return config;
})


export function get(config) {
    return new Promise((resolve,reject)=>{
        axios.get(config.url).then(res=>{
            code(res,resolve)
        }).catch(err=>{
            reject(err)
        })
    })        
}
export function postParams(config) {
    return new Promise((resolve,reject)=>{
       let data = config.data;
       axios({
            method:"post",
            url:config.url,
            params:data,
       }).then(res=>{   
             code(res,resolve)
        }).catch(err=>{
                reject(err)
        })
    })        
}

export function post(config) {
    return new Promise((resolve,reject)=>{
        axios.post(config.url,config.data).then(res=>{
                code(res,resolve)       
        }).catch(err=>{
            ElMessage.error(res.data.msg)
            reject(err)
        })
    })        
}

export function put(config) {
    return new Promise((resolve,reject)=>{
        axios.put(config.url,config.data).then(res=>{
                code(res,resolve)  
        }).catch(err=>{
            reject(err)
        })
    })        
}

export function del(config) {
        return new Promise((resolve,reject)=>{
            axios.delete(config.url,config.data).then(res=>{
                   code(res,resolve)
            }).catch(err=>{
                reject(err)
            })
        })        
}





function  code(res,resolve) {
    if(res.data.code===200){
        ElMessage({
            message: res.data.msg,
            plain: true,
            type: 'success',
            
        })
        return resolve(res)   
    }
    if (res.data.code===400){
        console.log("==================================================");
        console.log(res.data.msg);
        return resolve(res)
    }

    ElMessage.error(res.data.msg)
    return new Error(res.data.msg)
    
}

export default {get,post,postParams,put,del}